package org.example;

import com.csvreader.CsvReader;

import java.io.IOException;
import java.io.InputStream;

/**
 * 在datax中,ftpreader中使用的是plugin-unstructured-storage-util模块,其中引入的是javacsv.坐标请见pom.xml
 * 在默认情况下,字段的引用符为单个双引号 " ,业务需要将其改掉.他说
 */

public class AppCsvReaderQuoteChar {
    public static void main(String[] args) throws IOException {

        String filename ="sampler.csv";
        char quoteChar = '\u0001';
        char delimiter = ',';
//        char delimiter = '\u0005';

        InputStream inputStream = AppCsvReaderQuoteChar.class.getClassLoader().getResourceAsStream(filename);

        // 假设文件是 UTF-8 编码
        CsvReader reader = new CsvReader(inputStream, delimiter, java.nio.charset.StandardCharsets.UTF_8);

        // 改成单引号作为字段引用符
//        reader.setTextQualifier('\'');
//        reader.setTextQualifier('$');
//        reader.setTextQualifier(quoteChar);

        while (reader.readRecord()) {
            for (int i = 0; i < reader.getColumnCount(); i++) {
                System.out.println("Col" + i + ": " + reader.get(i));
            }
        }

        reader.close();
    }
}
